/*
 *
 * SteelChannelDepotSkuBeanMapper.java
 * @author lang
 * @date 2020-12-02 14:08:36
 */
package com.steel.yfmall.cloud.assistant.stock.mapper;

import com.steel.yfmall.cloud.assistant.po.stock.SteelChannelDepotSkuBean;
import com.steel.yfmall.cloud.assistant.po.stock.SteelChannelDepotSkuBeanExample;
import com.steel.yfmall.cloud.components.utils.datasource.ReadOnly;
import com.steel.yfmall.cloud.components.utils.datasource.Writer;

import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SteelChannelDepotSkuBeanMapper {
    /**
     * 根据指定的条件获取数据库记录数:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBeanExample	名称:example
     * @return 返回类型 long
     * @Title: countByExample
     * @Description: (根据指定的条件获取数据库记录数)
     * @date 2020-12-02 14:08:36
     */
    @ReadOnly
    long countByExample(SteelChannelDepotSkuBeanExample example);

    /**
     * 根据指定的条件删除数据库符合条件的记录:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBeanExample	名称:example
     * @return 返回类型 int
     * @Title: deleteByExample
     * @Description: (根据指定的条件删除数据库符合条件的记录)
     * @date 2020-12-02 14:08:36
     */
    @Writer
    int deleteByExample(SteelChannelDepotSkuBeanExample example);

    /**
     * 新写入数据库记录:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBean	名称:record
     * @return 返回类型 int
     * @Title: insert
     * @Description: (新写入数据库记录)
     * @date 2020-12-02 14:08:36
     */
    @Writer
    int insert(SteelChannelDepotSkuBean record);

    /**
     * 动态字段,写入数据库记录:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBean	名称:record
     * @return 返回类型 int
     * @Title: insertSelective
     * @Description: (动态字段, 写入数据库记录)
     * @date 2020-12-02 14:08:36
     */
    @Writer
    int insertSelective(SteelChannelDepotSkuBean record);

    /**
     * 根据指定的条件查询符合条件的数据库记录:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBeanExample	名称:example
     * @return 返回类型 java.util.List<com.steel.yfmall.cloud.stock.po.SteelChannelDepotSkuBean>
     * @Title: selectByExample
     * @Description: (根据指定的条件查询符合条件的数据库记录)
     * @date 2020-12-02 14:08:36
     */
    @ReadOnly
    List<SteelChannelDepotSkuBean> selectByExample(SteelChannelDepotSkuBeanExample example);

    /**
     * 动态根据指定的条件来更新符合条件的数据库记录:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBean	名称:record
     * @param 参数说明 类型:SteelChannelDepotSkuBeanExample	名称:example
     * @return 返回类型 int
     * @Title: updateByExampleSelective
     * @Description: (动态根据指定的条件来更新符合条件的数据库记录)
     * @date 2020-12-02 14:08:36
     */
    @Writer
    int updateByExampleSelective(@Param("record") SteelChannelDepotSkuBean record, @Param("example") SteelChannelDepotSkuBeanExample example);

    /**
     * 根据指定的条件来更新符合条件的数据库记录:sc_channel_depot_sku
     *
     * @param 参数说明 类型:SteelChannelDepotSkuBean	名称:record
     * @param 参数说明 类型:SteelChannelDepotSkuBeanExample	名称:example
     * @return 返回类型 int
     * @Title: updateByExample
     * @Description: (根据指定的条件来更新符合条件的数据库记录)
     * @date 2020-12-02 14:08:36
     */
    @Writer
    int updateByExample(@Param("record") SteelChannelDepotSkuBean record, @Param("example") SteelChannelDepotSkuBeanExample example);

    @Writer
    int batchInsertByList(List<SteelChannelDepotSkuBean> recordList);

    @ReadOnly
    SteelChannelDepotSkuBean selectOneByExampleSelective(SteelChannelDepotSkuBeanExample example);
}
